# 构建一个简单的json解析函数
parse_json(){  
	value=`echo $1 | sed 's/.*"'$2'":\([^,}]*\).*/\1/'`
	echo $value | sed 's/\"//g'
}

# 定义变量：上传成功的图片名
successNames=""

# 定义变量：上传失败的图片名
errorNames=""

# 定义变量：Secret Token
token="此处需要填写自己的token！！！！！！！！！！！！！！！！！！！！！！！！！！！！！"

# 开始循环上传图片
for i in $@
do
	# 获取文件名
	fileName=${i##*/}
	# 计算文件大小
	filesize=$(wc -c < $i)
	# 判断文件是否小于5M
    if [ $filesize -lt 5242880 ]; then
   		# 上传图片并接收返回结果
		result=$(curl --location --request POST 'https://sm.ms/api/v2/upload' \
		--header 'Content-Type: multipart/form-data' \
		--header 'Authorization:'$token \
		--form 'smfile=@"'$i'"' \
		--form 'format="json"')
		# 判断是否上传成功
		if [ $(parse_json $result success) = true ] && [ $(parse_json $result code) = success ];then
			# 解析出图片URL
			picUrl=${$(parse_json $result url)//\\/}
			# TODO 将图片URL复制到剪切板
			# echo $picUrl | pbcopy
			# 拼接Markdown图片链接
			mdUrl='!['$fileName']('$picUrl')'
			# TODO 将Markdown图片链接复制到剪切板
			echo $mdUrl | pbcopy
			# 追加上传成功的图片名
			successNames=$successNames","$fileName
			# 解析storename
			storename=$(parse_json $result storename)
			# 备份文件到本地目录
			cp $i '/Users/chaofan/Library/Mobile Documents/com~apple~CloudDocs/我的笔记/素材/'$storename
			# 返回上传成功的文件
			echo $i
		else
			# 错误原因
			errorMsg=$(parse_json $result code)
			# 追加上传失败的图片名
			errorNames=$errorNames","$fileName"("$errorMsg")"
		fi
    else
    	# 追加上传失败的图片名
		errorNames=$errorNames","$fileName"(文件超过5M)"
    fi
done

# 开始拼接返回结果
successNames=${successNames:1}
if [ ${#successNames} -gt 0 ];then
	successNames=$successNames"上传成功"
fi
errorNames=${errorNames:1}
if [ ${#errorNames} -gt 0 ];then
	errorNames=$errorNames"上传失败"
fi
if [ ${#successNames} -gt 0 ] && [ ${#errorNames} -gt 0 ];then
	resultMsg=$successNames"；"$errorNames
else
	resultMsg=$successNames$errorNames
fi

# 返回上传结果
echo $resultMsg